/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package cz.cuni.mff.d3s.arcas.intermediate.util;

import cz.cuni.mff.d3s.arcas.intermediate.*;

import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notifier;

import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * The <b>Adapter Factory</b> for the model.
 * It provides an adapter <code>createXXX</code> method for each class of the model.
 * <!-- end-user-doc -->
 * @see cz.cuni.mff.d3s.arcas.intermediate.IntermediatePackage
 * @generated
 */
public class IntermediateAdapterFactory extends AdapterFactoryImpl {
	/**
	 * The cached model package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static IntermediatePackage modelPackage;

	/**
	 * Creates an instance of the adapter factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public IntermediateAdapterFactory() {
		if (modelPackage == null) {
			modelPackage = IntermediatePackage.eINSTANCE;
		}
	}

	/**
	 * Returns whether this factory is applicable for the type of the object.
	 * <!-- begin-user-doc -->
	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
	 * <!-- end-user-doc -->
	 * @return whether this factory is applicable for the type of the object.
	 * @generated
	 */
	@Override
	public boolean isFactoryForType(Object object) {
		if (object == modelPackage) {
			return true;
		}
		if (object instanceof EObject) {
			return ((EObject)object).eClass().getEPackage() == modelPackage;
		}
		return false;
	}

	/**
	 * The switch that delegates to the <code>createXXX</code> methods.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected IntermediateSwitch<Adapter> modelSwitch =
		new IntermediateSwitch<Adapter>() {
			@Override
			public Adapter caseIntermediateDocument(IntermediateDocument object) {
				return createIntermediateDocumentAdapter();
			}
			@Override
			public Adapter caseConnector(Connector object) {
				return createConnectorAdapter();
			}
			@Override
			public Adapter caseConnectorEndpoint(ConnectorEndpoint object) {
				return createConnectorEndpointAdapter();
			}
			@Override
			public Adapter caseConnectorFeature(ConnectorFeature object) {
				return createConnectorFeatureAdapter();
			}
			@Override
			public Adapter caseConnectorFeatureValue(ConnectorFeatureValue object) {
				return createConnectorFeatureValueAdapter();
			}
			@Override
			public Adapter caseConnectorFeatureValueAttribute(ConnectorFeatureValueAttribute object) {
				return createConnectorFeatureValueAttributeAdapter();
			}
			@Override
			public Adapter caseDeploymentDock(DeploymentDock object) {
				return createDeploymentDockAdapter();
			}
			@Override
			public Adapter caseDistributionArchitecture(DistributionArchitecture object) {
				return createDistributionArchitectureAdapter();
			}
			@Override
			public Adapter caseDistributionArchitectureRole(DistributionArchitectureRole object) {
				return createDistributionArchitectureRoleAdapter();
			}
			@Override
			public Adapter caseDistributionArchitectureUnit(DistributionArchitectureUnit object) {
				return createDistributionArchitectureUnitAdapter();
			}
			@Override
			public Adapter caseDistributionArchitectureRemoteBinding(DistributionArchitectureRemoteBinding object) {
				return createDistributionArchitectureRemoteBindingAdapter();
			}
			@Override
			public Adapter caseDistributionArchitectureFeatureDelegation(DistributionArchitectureFeatureDelegation object) {
				return createDistributionArchitectureFeatureDelegationAdapter();
			}
			@Override
			public Adapter caseElementArchitecture(ElementArchitecture object) {
				return createElementArchitectureAdapter();
			}
			@Override
			public Adapter caseElementArchitectureSubElement(ElementArchitectureSubElement object) {
				return createElementArchitectureSubElementAdapter();
			}
			@Override
			public Adapter caseElementArchitecturePortBinding(ElementArchitecturePortBinding object) {
				return createElementArchitecturePortBindingAdapter();
			}
			@Override
			public Adapter caseElementArchitectureSignaturePropagation(ElementArchitectureSignaturePropagation object) {
				return createElementArchitectureSignaturePropagationAdapter();
			}
			@Override
			public Adapter caseElementArchitectureFeature(ElementArchitectureFeature object) {
				return createElementArchitectureFeatureAdapter();
			}
			@Override
			public Adapter caseElementArchitectureFeatureAttribute(ElementArchitectureFeatureAttribute object) {
				return createElementArchitectureFeatureAttributeAdapter();
			}
			@Override
			public Adapter caseNameValuesPair(NameValuesPair object) {
				return createNameValuesPairAdapter();
			}
			@Override
			public Adapter casePort(Port object) {
				return createPortAdapter();
			}
			@Override
			public Adapter caseRole(Role object) {
				return createRoleAdapter();
			}
			@Override
			public Adapter caseSignature(Signature object) {
				return createSignatureAdapter();
			}
			@Override
			public Adapter caseSubelement(Subelement object) {
				return createSubelementAdapter();
			}
			@Override
			public Adapter caseUnit(Unit object) {
				return createUnitAdapter();
			}
			@Override
			public Adapter defaultCase(EObject object) {
				return createEObjectAdapter();
			}
		};

	/**
	 * Creates an adapter for the <code>target</code>.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param target the object to adapt.
	 * @return the adapter for the <code>target</code>.
	 * @generated
	 */
	@Override
	public Adapter createAdapter(Notifier target) {
		return modelSwitch.doSwitch((EObject)target);
	}


	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.IntermediateDocument <em>Document</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.IntermediateDocument
	 * @generated
	 */
	public Adapter createIntermediateDocumentAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.Connector <em>Connector</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.Connector
	 * @generated
	 */
	public Adapter createConnectorAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.ConnectorEndpoint <em>Connector Endpoint</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.ConnectorEndpoint
	 * @generated
	 */
	public Adapter createConnectorEndpointAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.ConnectorFeature <em>Connector Feature</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.ConnectorFeature
	 * @generated
	 */
	public Adapter createConnectorFeatureAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.ConnectorFeatureValue <em>Connector Feature Value</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.ConnectorFeatureValue
	 * @generated
	 */
	public Adapter createConnectorFeatureValueAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.ConnectorFeatureValueAttribute <em>Connector Feature Value Attribute</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.ConnectorFeatureValueAttribute
	 * @generated
	 */
	public Adapter createConnectorFeatureValueAttributeAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.DeploymentDock <em>Deployment Dock</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.DeploymentDock
	 * @generated
	 */
	public Adapter createDeploymentDockAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.DistributionArchitecture <em>Distribution Architecture</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.DistributionArchitecture
	 * @generated
	 */
	public Adapter createDistributionArchitectureAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.DistributionArchitectureRole <em>Distribution Architecture Role</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.DistributionArchitectureRole
	 * @generated
	 */
	public Adapter createDistributionArchitectureRoleAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.DistributionArchitectureUnit <em>Distribution Architecture Unit</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.DistributionArchitectureUnit
	 * @generated
	 */
	public Adapter createDistributionArchitectureUnitAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.DistributionArchitectureRemoteBinding <em>Distribution Architecture Remote Binding</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.DistributionArchitectureRemoteBinding
	 * @generated
	 */
	public Adapter createDistributionArchitectureRemoteBindingAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.DistributionArchitectureFeatureDelegation <em>Distribution Architecture Feature Delegation</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.DistributionArchitectureFeatureDelegation
	 * @generated
	 */
	public Adapter createDistributionArchitectureFeatureDelegationAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.Port <em>Port</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.Port
	 * @generated
	 */
	public Adapter createPortAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.Subelement <em>Subelement</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.Subelement
	 * @generated
	 */
	public Adapter createSubelementAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.Unit <em>Unit</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.Unit
	 * @generated
	 */
	public Adapter createUnitAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.Role <em>Role</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.Role
	 * @generated
	 */
	public Adapter createRoleAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.Signature <em>Signature</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.Signature
	 * @generated
	 */
	public Adapter createSignatureAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.ElementArchitecture <em>Element Architecture</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.ElementArchitecture
	 * @generated
	 */
	public Adapter createElementArchitectureAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.ElementArchitectureSubElement <em>Element Architecture Sub Element</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.ElementArchitectureSubElement
	 * @generated
	 */
	public Adapter createElementArchitectureSubElementAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.ElementArchitecturePortBinding <em>Element Architecture Port Binding</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.ElementArchitecturePortBinding
	 * @generated
	 */
	public Adapter createElementArchitecturePortBindingAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.ElementArchitectureSignaturePropagation <em>Element Architecture Signature Propagation</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.ElementArchitectureSignaturePropagation
	 * @generated
	 */
	public Adapter createElementArchitectureSignaturePropagationAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.ElementArchitectureFeature <em>Element Architecture Feature</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.ElementArchitectureFeature
	 * @generated
	 */
	public Adapter createElementArchitectureFeatureAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.ElementArchitectureFeatureAttribute <em>Element Architecture Feature Attribute</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.ElementArchitectureFeatureAttribute
	 * @generated
	 */
	public Adapter createElementArchitectureFeatureAttributeAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for an object of class '{@link cz.cuni.mff.d3s.arcas.intermediate.NameValuesPair <em>Name Values Pair</em>}'.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @see cz.cuni.mff.d3s.arcas.intermediate.NameValuesPair
	 * @generated
	 */
	public Adapter createNameValuesPairAdapter() {
		return null;
	}

	/**
	 * Creates a new adapter for the default case.
	 * <!-- begin-user-doc -->
	 * This default implementation returns null.
	 * <!-- end-user-doc -->
	 * @return the new adapter.
	 * @generated
	 */
	public Adapter createEObjectAdapter() {
		return null;
	}

} //IntermediateAdapterFactory
